import axios from 'axios'
import router from '../router/index'

axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 创建axios实例
const service = axios.create({
  // axios中请求配置有baseURL选项，表示请求URL公共部分
  baseURL: 'http://localhost:9999',
  headers: {
  },
  // 超时
  timeout: 100000
})

// 请求拦截器
service.interceptors.request.use(
    config => {
      // 尝试从localStorage获取token
      const token = localStorage.getItem('token');
      if (token) {
        // 如果token存在，则将其添加到每个请求的头部
        config.headers['token'] = `${token}`;
      }
      return config;
    },
    error => {
      // 发生错误时的处理
      return Promise.reject(error);
    }
);

// 响应拦截器
service.interceptors.response.use(
    response => {
        // 401表示token过期
        if (response.data && response.data.code === 401) {
            setTimeout(() => {
                localStorage.removeItem('token'); // 清除本地存储的token
                router.push('/'); // 重定向到登录页面
            }, 500); // 延迟0.5秒后执行
        }
        // 请求成功的处理
        return response;
    },
    error => {
        // 其他错误处理
        return Promise.reject(error);
    }
);

export default service
